﻿using System.Collections.Generic;

namespace Onetube.Models.SearchVideo
{
    public class ChannelSnippet
    {
        public string Title { get; set; }

        public string Description { get; set; }

        public string PublishedAt { get; set; }

        public Thumbnails Thumbnails { get; set; }
    }
    public class PageInfo
    {
        public int totalResults { get; set; }

        public int resultsPerPage { get; set; }
    }

    public class Id
    {
        public string kind { get; set; }

        public string videoId { get; set; }
    }

    public class Default
    {
        public string url { get; set; }
    }

    public class Medium
    {
        public string url { get; set; }
    }

    public class High
    {
        public string url { get; set; }
    }

    public class Thumbnails
    {
        public Default @default { get; set; }

        public Medium medium { get; set; }

        public High high { get; set; }
    }

    public class Snippet
    {
        public string publishedAt { get; set; }

        public string channelId { get; set; }

        public string title { get; set; }

        public string description { get; set; }

        public Thumbnails thumbnails { get; set; }

        public string channelTitle { get; set; }

        public string liveBroadcastContent { get; set; }
        public ContentDetails contentDetails { get; set; }
        public Statistics statistics { get; set; }

        public ChannelSnippet channelDetails { get; set; }
    }

    public class Item
    {
        public string kind { get; set; }

        public string etag { get; set; }

        public Id id { get; set; }

        public Snippet snippet { get; set; }
    }

    public class ContentDetails
    {
        public string duration { get; set; }
        public string dimension { get; set; }
        public string definition { get; set; }
        public string caption { get; set; }
        public bool licensedContent { get; set; }
    }

    public class Statistics
    {
        public string viewCount { get; set; }
        public string likeCount { get; set; }
        public string dislikeCount { get; set; }
        public string favoriteCount { get; set; }
        public string commentCount { get; set; }
    }
    public class SearchVideoResult
    {
        public string kind { get; set; }

        public string etag { get; set; }

        public string nextPageToken { get; set; }

        public string prevPageToken { get; set; }

        public PageInfo pageInfo { get; set; }

        public List<Item> items { get; set; }
    }
}

